home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 4 / QRZ Ham Radio Callsign Database - Volume 4.iso / digests / tcp / 940022.txt < prev    next >
Internet Message Format  |  1994-11-13  |  29KB

  1. Date: Wed, 26 Jan 94 04:30:05 PST
  2. From: Advanced Amateur Radio Networking Group <tcp-group@ucsd.edu>
  3. Errors-To: TCP-Group-Errors@UCSD.Edu
  4. Reply-To: TCP-Group@UCSD.Edu
  5. Precedence: Bulk
  6. Subject: TCP-Group Digest V94 #22
  7. To: tcp-group-digest
  8.  
  9.  
  10. TCP-Group Digest            Wed, 26 Jan 94       Volume 94 : Issue   22
  11.  
  12. Today's Topics:
  13.                             Ethernet ID's
  14.                     Ethernet protocol ID (3 msgs)
  15.                        GPIB and packet (2 msgs)
  16.        help understanding the division point of protocol vs app
  17.                JNOS, TNOS, and other DOS'isms (4 msgs)
  18.                            JNOS problems...
  19.                      limiting socket connections
  20.                 TCP MSS and TCP WIN settings (5 msgs)
  21.  
  22. Send Replies or notes for publication to: <TCP-Group@UCSD.Edu>.
  23. Subscription requests to <TCP-Group-REQUEST@UCSD.Edu>.
  24. Problems you can't solve otherwise to brian@ucsd.edu.
  25.  
  26. Archives of past issues of the TCP-Group Digest are available
  27. (by FTP only) from UCSD.Edu in directory "mailarchives".
  28.  
  29. We trust that readers are intelligent enough to realize that all text
  30. herein consists of personal comments and does not represent the official
  31. policies or positions of any party.  Your mileage may vary.  So there.
  32. ----------------------------------------------------------------------
  33.  
  34. Date: Wed, 26 Jan 94 09:30:54 GMT
  35. From: Alan Cox <iiitac@pyramid.swansea.ac.uk>
  36. Subject: Ethernet ID's
  37. To: tcp-group@ucsd.edu
  38.  
  39. One is posted to usenet occasionally. There are two problems howver. Firstly
  40. I can't find my old copy or remember the group, secondly some of it is guesswork
  41. because Xerox don't reveal who owns what ID or what for.
  42.  
  43. Alan
  44.  
  45. ------------------------------
  46.  
  47. Date: Tue, 25 Jan 1994 13:04:42 -0600 (CST)
  48. From: drk@fed-ins.ca (Dan Keizer)
  49. Subject: Ethernet protocol ID
  50. To: tcp-group@ucsd.edu
  51.  
  52. Does anyone know where I can find a concise (or as consise as possible)
  53. listing of known ethernet protocol id's??  I know in the ethernetdump
  54. routing in NOS it identifies 3 of them and then just displays the protocols'
  55. number otherwise.  I checked the RFC's but nothing stood out as describing
  56. the #'s, even though I did look through quite a few.  (what a maze)
  57.  
  58. Dan.
  59.  
  60. ------------------------------------------------------------------------
  61. Dan Keizer, VE4DRK                    Federated Insurance Company of Canada
  62. drk@fed-ins.ca                        717 Portage Ave, Winnipeg, MB R3C 3C9
  63. Opinions are mine and that's that.    TEL:(204) 786-6431  FAX:(204) 786-5707
  64.  
  65. ------------------------------
  66.  
  67. Date: Tue, 25 Jan 1994 21:11:13 +0000 (GMT)
  68. From: jerry@tr2.com
  69. Subject: Ethernet protocol ID
  70. To: drk@fed-ins.ca (Dan Keizer)
  71.  
  72. > Does anyone know where I can find a concise (or as consise as possible)
  73. > listing of known ethernet protocol id's??  I know in the ethernetdump
  74. > routing in NOS it identifies 3 of them and then just displays the protocols'
  75. > number otherwise.  I checked the RFC's but nothing stood out as describing
  76. > the #'s, even though I did look through quite a few.  (what a maze)
  77.  
  78. **** FTP Software has this fantastic poster that splits ethernet packets
  79. up into protocol layers and lists all or many of the fields in each layer.
  80. They usually give it out at trade shows, and if you called them and asked
  81. nicely, they just might send you one. 
  82.  
  83.    I don't think you'll find enet packet types in an RFC;  ethernet is not
  84. really an IP protocol.  
  85.  
  86.                                        - Jerry, KF6VB
  87.  
  88. p.s.  You think the RFCs are a morass?  You should try token ring some
  89. time.  Now, THAT's a morass!
  90.  
  91. ***************************************************************
  92. * Jerry Kaidor       jerry@tr2.com, jkaidor@synoptics.com     *
  93. *                    jerry@KF6VB.ampr.org                     *
  94. ***************************************************************
  95.  
  96. ------------------------------
  97.  
  98. Date: Wed, 26 Jan 94 01:44:00 -0000
  99. From: mikebw@bilow.uu.ids.net (Mike Bilow)
  100. Subject: Ethernet protocol ID
  101. To: tcp-group@ucsd.edu
  102.  
  103. Cc: drk@fed-ins.ca
  104.  
  105. In a msg on <Jan 25 19:04>, Dan Keizer writes:
  106.  
  107.  DK> Does anyone know where I can find a concise (or as consise as 
  108.  DK> possible) listing of known ethernet protocol id's??  I know 
  109.  DK> in the ethernetdump routing in NOS it identifies 3 of them 
  110.  DK> and then just displays the protocols' number otherwise.  I 
  111.  DK> checked the RFC's but nothing stood out as describing the 
  112.  DK> #'s, even though I did look through quite a few.  (what a 
  113.  DK> maze)
  114.  
  115. There is a pretty good listing in the ETHLD???.ZIP package available from
  116. ub4b.buug.be in /pub/ub4b/network/msdos.  This is a public domain Ethernet
  117. protocol analyzer.
  118.  
  119. For those unable to access it by Internet FTP, I have it available for
  120. dial-up download at the N1BEE BBS, +1 401 944 8498, as ETHLD103.ZIP.
  121. The file is about 140 KB.
  122.  
  123. -- Mike
  124.  
  125. ------------------------------
  126.  
  127. Date: Tue, 25 Jan 94 13:03:33 EST
  128. From: crompton@NADC.NADC.NAVY.MIL (D. Crompton)
  129. Subject: GPIB and packet
  130. To: TCP-Group@UCSD.EDU, jas@hplb.hpl.hp.com
  131.  
  132. FYI - 
  133.  
  134. The Circuit Cellar BBS has a parallel to GPIB adapter info and SW
  135.  
  136. GPIBLPT.ZIP
  137.  
  138. Doug
  139.  
  140. ------------------------------
  141.  
  142. Date: Wed, 26 Jan 1994 09:28:19 EET-2EEST
  143. From: "Markus Lamminmaki OH6LSA" <MARKUS@TECHNIS.vtyh.fi>
  144. Subject: GPIB and packet
  145. To: crompton@NADC.NADC.NAVY.MIL (D. Crompton)
  146.  
  147. >FYI - 
  148. >
  149. >The Circuit Cellar BBS has a parallel to GPIB adapter info and SW
  150. >
  151. >GPIBLPT.ZIP
  152.  
  153. I tried to look for it with archie but could not find any references. 
  154. Could you put it somewhere where I could ftp this file from.
  155.  
  156. ---
  157. Vasa Polytechnic              Email: markus@technis.vtyh.fi
  158. PB 6, SF-65201, FINLAND              postmaster@vtyh.fi
  159. Fax: +358-61-3230 610                
  160. Work:+358-61-3230 661         Home:  +358-61-3171 466
  161.  
  162.             Looks great on the outside, but Intel inside.
  163.  
  164. ------------------------------
  165.  
  166. Date: Tue, 25 Jan 1994 22:40:11 -0800
  167. From: Phil Karn <karn@qualcomm.com>
  168. Subject: help understanding the division point of protocol vs app
  169. To: mikebw@bilow.uu.ids.net
  170.  
  171. Ah yes, the layering wars...takes me way back...
  172.  
  173. A few random tidbits:
  174.  
  175. Postel and Cohen published a paper a while back that shows that if the
  176. ISO 7-layer model is correct, then n = n+1. (This is known as a
  177. disproof by contradiction). The problem, btw, comes when you stack up
  178. things in an ad-hoc fashion, as so often happens in the real world
  179. both because it's often necessary and because the Internet protocols
  180. make it so easy to do. For example, it would be entirely possible to
  181. encode IP inside email messages and build a (slow) "super internet"
  182. out of it. Then which layer do your mail-encoded IP headers belong to?
  183.  
  184. Okay, so this might be crazy. But what about the idea of encoding SLIP
  185. or PPP packets as lines of ASCII characters and sending them over a
  186. Telnet connection to a server out on the net that unwraps them and
  187. puts them back out on the net? (I've been threatening to do exactly
  188. this in NOS for some time to give people a way to get logical IP
  189. connectivity to the Internet through public-access UNIX sites on the
  190. Internet that either don't provide SLIP/PPP service, or charge
  191. ridiculous prices for it.)
  192.  
  193. What matters is the order in which you stack the protocols, not what
  194. "ISO layer name/number" you should assign to each one.
  195.  
  196. Perhaps the best philosphy I've heard is "layering makes a good
  197. servant, but a bad master". Who said this? Dave Clark?
  198.  
  199. Phil
  200.  
  201. ------------------------------
  202.  
  203. Date: Mon, 24 Jan 94 22:50:07 PST
  204. From: algedi!gateway (gateway)
  205. Subject: JNOS, TNOS, and other DOS'isms
  206. To: tcp-group@ucsd.edu
  207.  
  208. In your message of Fri, 21 Jan 1994 20:56:00 GMT, you write:
  209. +---------------
  210. |people were not arguing over it. No one knows what the future is going to look
  211. |like, but I personally hope it looks a lot more like Unix or OS/2 than Windows.
  212. |  My own view is that it is up to the people who write the source code.
  213. +------------->8
  214.  
  215. Only in part; but as always, the final decision is up to the people who *use* 
  216. the code.  There are several choices for Unix "NOS" (in quotes because I 
  217. include kernel-based solutions that don't involve dedticated NOS executables) 
  218. already; OS/2 NOS development seems to be lagging, and I'm not sure what there 
  219. is (native) for MS-Windows, if anything; but, should those environments have 
  220. NOS versions available, which one will be "the" future NOS environment will 
  221. depend on how many people choose which environments.
  222.  
  223. (Nor is this specific to NOS.  The same considerations apply to the choice of 
  224. environment for any other application, whether it be amateur radio networking 
  225. or databases.)
  226.  
  227. What the developers do is enable that decision to be made; they don't make the 
  228. decision for you.
  229.  
  230. ++Brandon
  231. --
  232. Brandon S. Allbery       kf8nh@kf8nh.ampr.org         bsa@kf8nh.wariat.org
  233. "MSDOS didn't get as bad as it is overnight -- it took over ten years
  234. of careful development."  ---dmeggins@aix1.uottawa.ca
  235.  
  236. ------------------------------
  237.  
  238. Date: Mon, 24 Jan 94 23:50:04 PST
  239. From: algedi!gateway (gateway)
  240. Subject: JNOS, TNOS, and other DOS'isms
  241. To: tcp-group@ucsd.edu
  242.  
  243. >It would be fairly easy to generate a special header file for older Borland
  244. >compilers that would implement some extremely simple text translations, such
  245. >as defining the newer prefaces (like "_dos_") so that they were stripped by
  246. >translating them to empty text strings.
  247.  
  248. I took an easier route.  I got rid of the DOS on top of DOS code!  I don't see
  249. any reason for DIR RENAME and COPY inside NOS (as well as a lot of other fluff)
  250. and I just deleted all that bo-jive.  Which brings me to my political comment
  251. of the month.  One thing I *really* don't like about JNOS and TNOS is their
  252. attempt at loading all these MS-DOS features into the code.  Get rid of that
  253. CRAP and get back on track.  The other thing is the BBS code.  I'd throw away
  254. all that mailbox CRAP, it's obsolete.  Why not expand on the NNTP and make a
  255. nice news feed.  Your local community would probably appreciate the breath of
  256. fresh air from the obsolete BBS interface, addressing, and forwarding methods.
  257.  
  258. By the way I use DesqView and a simple ALT-ALT tap gets me a nice window that
  259. does all that CRAP that is flowing into NOS.  Windows could do the same, but
  260. it needs a lot more memory I suspect.
  261.  
  262. Those were very useful comments though, about the BC limitations and changes
  263. Mike, thanks.
  264. ---
  265. Steve N5OWK@W1AW.#LEFT.#RIGHT.#LEFT.#UP.#DOWN.#AROUND.CT.USA.NA.EARTH.ZF101
  266. "My views are official and represent the governments feeling on the subject"
  267.  
  268. ------------------------------
  269.  
  270. Date: Tue, 25 Jan 94 01:50:04 PST
  271. From: algedi!gateway (gateway)
  272. Subject: JNOS, TNOS, and other DOS'isms
  273. To: ssampson@sabea-oc.af.mil, tcp-group@ucsd.edu
  274.  
  275. > I took an easier route.  I got rid of the DOS on top of DOS code!  I don't see
  276. > any reason for DIR RENAME and COPY inside NOS (as well as a lot of other fluff)
  277. > and I just deleted all that bo-jive.  Which brings me to my political comment
  278.  
  279. The reason for having those in the code is so you don't have to shell out
  280. (and worry you still have enough core left) when you want to do that
  281. dir, more, delete, or rename).   If you don't need these, the ifdef the
  282. commands out (that's what config.h is for).
  283.  
  284. > ... The other thing is the BBS code.  I'd throw away
  285. > all that mailbox CRAP, it's obsolete.  Why not expand on the NNTP and make a
  286. > nice news feed.  Your local community would probably appreciate the breath of
  287. > fresh air from the obsolete BBS interface, addressing, and forwarding methods.
  288.  
  289. Those of us on the local frequency would probably agree.  Why don't you
  290. write a version for us that has a decent nntp and full smtp support 
  291. (for those of us who don't have >1M of memory and can't multitask :).
  292. Don't forget to include a sysop shell for remote node support (yes, we
  293. use sysop here to remotely control stations, such as the router).
  294. Ohh yea... converse is one of the most popular IP modes around here,
  295. although we could use a multicast protocol :).
  296.  
  297. [I guess this called "put you code where your mouth is :) ]
  298.  
  299. [Not to say I am not working on any of this, just that I have to complete
  300. some other projects before I can work on my release of nos ... ]
  301.  
  302. milton
  303. --
  304. Milton Miller  KB5TKF  miltonm@austin.ibm.com
  305. I never speak for IBM.
  306.  
  307. ------------------------------
  308.  
  309. Date: Tue, 25 Jan 1994 15:47:50 -0600 (CST)
  310. From: ssampson@sabea-oc.af.mil (Steve Sampson)
  311. Subject: JNOS, TNOS, and other DOS'isms
  312. To: algedi!gateway (gateway)
  313.  
  314. > > I took an easier route.  I got rid of the DOS on top of DOS code!  I don't see
  315. > > any reason for DIR RENAME and COPY inside NOS (as well as a lot of other fluff)
  316. > > and I just deleted all that bo-jive.  Which brings me to my political comment
  317. > The reason for having those in the code is so you don't have to shell out
  318. > (and worry you still have enough core left) when you want to do that
  319. > dir, more, delete, or rename).   If you don't need these, the ifdef the
  320. > commands out (that's what config.h is for).
  321. > > ... The other thing is the BBS code.  I'd throw away
  322. > > all that mailbox CRAP, it's obsolete.  Why not expand on the NNTP and make a
  323. > > nice news feed.  Your local community would probably appreciate the breath of
  324. > > fresh air from the obsolete BBS interface, addressing, and forwarding methods.
  325. > Those of us on the local frequency would probably agree.  Why don't you
  326. > write a version for us that has a decent nntp and full smtp support 
  327. > (for those of us who don't have >1M of memory and can't multitask :).
  328. > Don't forget to include a sysop shell for remote node support (yes, we
  329. > use sysop here to remotely control stations, such as the router).
  330. > Ohh yea... converse is one of the most popular IP modes around here,
  331. > although we could use a multicast protocol :).
  332. > [I guess this called "put you code where your mouth is :) ]
  333. > [Not to say I am not working on any of this, just that I have to complete
  334. > some other projects before I can work on my release of nos ... ]
  335. > milton
  336. > --
  337. > Milton Miller  KB5TKF  miltonm@austin.ibm.com
  338. > I never speak for IBM.
  339.  
  340. Why am I getting mail from this machine??  It's echoing everything with
  341. a two day delay or more...
  342.  
  343. -- 
  344. Steve
  345.  
  346. ------------------------------
  347.  
  348. Date: Mon, 24 Jan 1994 22:54 +0200
  349. From: "Miroslav Skoric, SysOp in YU7B, Novi Sad" <etfbg!SKORIC%UNSIM>
  350. Subject: JNOS problems...
  351. To: fon!tcp-group@ucsd.edu
  352.  
  353. Hello there...
  354.  
  355. I've installed JNOSv1.10x9 and have configured it only as "normal" packet
  356. ax.25 station. Unfortunately, I really don't know how to make it full tcp/ip
  357. packet/internet bbs (or) gateway, which was the main reason for supplying
  358. such software.
  359.  
  360. I've been running ax.25 packet bbs YU7B.SRB.YUG.EU with telephone modem access
  361. possibility and I have user access to the local Internet/VAX system via phone
  362. modem. I want to run this JNOS as full packet-internet bbs.
  363.  
  364. I've made dialer, forward.bbs and the other files, but I am not able to
  365. connect anyone via phone modem now, especialy not automaticaly as, for example
  366. FBB software does.
  367.  
  368. If somebody could help me to establish the FIRST tcpip bbs in YU* land, don't
  369. hesitate to contact me, either via Internet or packet radio. If using Internet
  370. pse don't press REPLY now, but instead type the whole address:
  371.  
  372. skoric%unsim%etfbg%fon.uucp@moumee.calstatela.edu
  373.  
  374. or via packet: YT7MPB@YU7B.SRB.YUG.EU
  375.  
  376. Best wishes and 73 from Misko, YT7MPB
  377.  
  378. ------------------------------
  379.  
  380. Date: Tue, 25 Jan 94 11:04:18 PST
  381. From: Glenn Engel <glenne@lsid.hp.com>
  382. Subject: limiting socket connections
  383. To: tcp-group@ucsd.edu
  384.  
  385. I've seen a number of references to people having problems with sockets
  386. hanging around "forever".  The following patch is one I've used to help
  387. with this problem.  When a new connection is initiated, a check is made to
  388. see if the current number of connections is greater than the tcpMaxConn
  389. limit.  If the limit is exceeded, the connection which has been idle 
  390. for the longest period of time will be closed.  By setting the tcpMaxConn
  391. value large enough to cover "active" connections, this effectively causes
  392. old connections to die a graceful death.
  393.  
  394. No copyright implied or assumed for this software.  Use it however you wish.
  395.  
  396. --
  397. Glenn 
  398.  
  399. *** /usr/tmp/fdif1AAAa12357    Tue Jan 25 13:56:25 1994
  400. --- tcpin.c    Mon Jan 24 12:01:41 1994
  401. ***************
  402. *** 23,28 ****
  403. --- 23,59 ----
  404.       uint16 *length);
  405.   static int in_window(struct tcb *tcb,int32 seq);
  406.   
  407. + /**********************************************************************/
  408. + /* This function attempts to limit the number of tcp connections.  It */
  409. + /* walks thru the list of tcbs and counts all connections which are   */
  410. + /* not in the CLOSED or LISTEN state.  If this count is greater than  */
  411. + /* the limit then the tcb which was used last is removed.  Because    */
  412. + /* lookup_tcb puts found items at the head, we know that the tail of  */
  413. + /* the list is the tcb which has the greatest time since last used.   */
  414. + /**********************************************************************/
  415. + void checkNumTcbLimit(void)
  416. + {
  417. +     struct tcb *tcb;
  418. +     struct tcb *tcblast;
  419. +     int numTcb = 0;
  420. +     for(tcb=Tcbs;tcb != NULLTCB;tcb = tcb->next)
  421. +     {
  422. +         if ((tcb->state > TCP_LISTEN) && (tcb->state < TCP_FINWAIT1)) 
  423. +         {
  424. +             numTcb++;
  425. +             tcblast = tcb;
  426. +         }
  427. +     } 
  428. +     if (numTcb >= tcpMaxConn)
  429. +     {
  430. +         /* drop the oldest tcb */
  431. +         close_tcp(tcblast);
  432. +     }
  433. + }
  434. +     
  435.   /* This function is called from IP with the IP header in machine byte order,
  436.    * along with a mbuf chain pointing to the TCP header.
  437.    */
  438. ***************
  439. *** 133,138 ****
  440. --- 164,171 ----
  441.               return;
  442.           }
  443.           if(seg.flags.syn){
  444. +                         /* check for too many tcbs */
  445. +                         checkNumTcbLimit();
  446.               /* (Security check is bypassed) */
  447.               /* page 66 */
  448.               proc_syn(tcb,ip->tos,&seg);
  449.  
  450. ------------------------------
  451.  
  452. Date: Mon, 24 Jan 1994 23:11:02 -0800
  453. From: Phil Karn <karn@qualcomm.com>
  454. Subject: TCP MSS and TCP WIN settings
  455. To: CHRISC@Central.nmmc.mn.org
  456.  
  457. >I don't see how you could tell.  The determination of how a packet is 
  458. >routed is under the auspices of IP not TCP.  It is quite conceivable, 
  459. >even on a radio circuit, that a packet (or rather stream of 
  460. >characters) which is queued, but not acknowledged, could be resent by 
  461. >a completely different path on each attempt at transmission.  
  462.  
  463. You are quite correct; the trick of asking the IP layer for the MTU of
  464. the interface that is currently used to reach the remote site *is* a
  465. layering violation, and as you say the interface can change
  466. anyway. But it does so only rarely in practice, so it's a useful
  467. violation.
  468.  
  469. These issues are actually longstanding problems with TCP/IP. The first
  470. one, determining the largest MSS that will avoid fragmentation, now
  471. has a proper solution - MTU path discovery. The sender sets the "DF"
  472. (don't fragment) flag in every IP header. If the packet hits a gateway
  473. with an interface that requires fragmentation, the packet is bounced
  474. with an ICMP "Unreachable - fragmentation required and DF set"
  475. message. If the ICMP message includes the interface MTU so the sender
  476. can know how much smaller to make the packet -- unless, of course,
  477. there's another router down the line with an even smaller MTU.
  478.  
  479. The trick is that the ICMP message didn't include the interface MTU
  480. until the MTU path discovery feature was adopted. If the "bottleneck"
  481. router doesn't support it, then the sender has to guess at a packet
  482. size that will fit - simply halving the packet size until it gets
  483. through will probably work.
  484.  
  485. I put in the ICMP MTU reporting feature some time ago, but I haven't
  486. done the needed work in TCP to actually invoke it yet. I figured that
  487. I should let the ICMP update percolate around first (that is, if
  488. anybody's tracking my code anymore). Perhaps it's time to finish the
  489. job.
  490.  
  491. The other problem, that of controlling the TCP window size, is much
  492. more problematical.
  493.  
  494. What you really want to control is *not* the window size that the
  495. receiver advertises - this simply indicates how much memory it has
  496. available for buffering - but the effective, or "congestion" window
  497. that the sender uses. Van Jacobsen made a tremendous advance in this
  498. area some years back by introducing the congestion window concept and
  499. the "slow start" and "congestion recovery" algorithms that adjust
  500. it. My TCP was one of the first (after Van's) to implement it, because
  501. amateur packet radio channels are as congested as any that support
  502. TCP.
  503.  
  504. But Van didn't solve the whole problem, because the only way to keep
  505. the congestion window from eventually increasing all the way to the
  506. window advertised by the receiver is to drop a packet, and this is
  507. wasteful. And it's possible for several TCPs all running slowstart to
  508. get locked into a relaxation cycle: they all increase their congestion
  509. windows together until the network starts dropping their packets, then
  510. they back off again and start the process all over.
  511.  
  512. One elegant solution is the "DEC Bit" scheme proposed by DEC for ISO
  513. CLNP. When a router experiences congestion on a link, it sets a "congestion
  514. experienced" bit in the header. The receiver echoes this bit back to the
  515. sender in its transport ACK header, and the sender modulates his congestion
  516. window appropriately. The idea is to keep the bottleneck link along the path
  517. just saturated, without piling up a long queue behind it.
  518.  
  519. I've wanted to put this into TCP/IP for some time (can't stand the
  520. notion of there being a useful feature in ISO that's not in TCP/IP!)
  521. but it requires the cooperation of a lot of vendors to make this
  522. happen. So I've long been interested in backward-compatible schemes
  523. to accomplish the same thing. I haven't found any that really work, but
  524. that's probably because I don't know enough control theory.
  525.  
  526. So just to do something to keep queues reasonable, I stuck in a
  527. "qlimit" feature. Whenever an interface transmit queue exceeds the
  528. queue limit, the routing code picks a packet at random from the queue
  529. and sends a source quench to its sender (without dropping the
  530. packet). This could be called a "random quench" policy. The TCP that
  531. gets the quench will shrink its congestion window to 1 packet, just as
  532. if it had encountered a timeout. The congestion window will still
  533. oscillate, but it definitely does keep the queues shorter.
  534.  
  535. Van Jacobsen and Sally Floyd did recently publish a paper in ACM/IEEE
  536. Networks magazine on some much more clever congestion avoidance
  537. algorithms for gateways. I have a copy and will implement it when I
  538. get a chance.
  539.  
  540. In the meantime, if somebody can come up with a simple, reliable and
  541. stable algorithm for setting the TCP congestion window to the right
  542. value just by observing changes in round trip delays and bandwidths,
  543. you could make yourself famous.
  544.  
  545. Phil
  546.  
  547. ------------------------------
  548.  
  549. Date: Tue, 25 Jan 1994 09:20:13 -0500
  550. From: goldstein@carafe.tay2.dec.com
  551. Subject: TCP MSS and TCP WIN settings
  552. To: tcp-group@ucsd.edu
  553.  
  554. Phil,
  555.  
  556. Several years ago, Raj Jain and K.K Ramakrishnan (I think it was the two
  557. of them as a team) published a paper describing a congestion avoidance
  558. scheme based on round-trip delay observation.  I haven't looked at it for
  559. a while but my recollection is that they weren't impressed by the 
  560. results, so they didn't pursue it farther.  (Note to net_readers:
  561. Jain actually invented the scheme that Van Jacobsen is widely credited
  562. for; it was done for DECnet Phase IV in 1984 and Jacobsen acknowledges
  563. it in his own paper.  Jacobsen made a minor improvement of his own.)
  564.  
  565. Folks at Digital have been trying for years to get the IETF to put a
  566. DECbit into IP, but it keeps running into two political problems.  One,
  567. it was invented elsewhere, and is tainted by the OSI label (since they
  568. took Digital's suggestion).  Two, it is hard to phase in:  If you               put DECbit congestion avoidance into your TCP and I don't put it in
  569. mine, you'll slow down (nice fella!) and I won't, and I'll be taking
  570. advantage of the bandwidth you freed up.  It's a "nice guys finish
  571. last" scenario.  WIth all of the J-random implementations of TCP
  572. floating around, this might be a real issue for a while, though there
  573. are of course workarounds.  ("MANDATORY" worked for V.J.)
  574.  
  575. Frame Relay (T1.618/Q.922) has a FECN bit which is there explicitly
  576. to support this "DECbit" concept.  If we can't get it into IP, maybe
  577. it should go into IPNG, whatever that turns out to be.
  578.    fred k1io
  579.  
  580. ------------------------------
  581.  
  582. Date: Tue, 25 Jan 94 14:56:00 CST
  583. From: andyw@aspen.cray.com (Andy Warner)
  584. Subject: TCP MSS and TCP WIN settings
  585. To: tcp-group@ucsd.edu (TCP Group)
  586.  
  587. Phil wrote:
  588. > [...]
  589. > I put in the ICMP MTU reporting feature some time ago, but I haven't
  590. > done the needed work in TCP to actually invoke it yet. I figured that
  591. > I should let the ICMP update percolate around first (that is, if
  592. > anybody's tracking my code anymore). Perhaps it's time to finish the
  593. > job.
  594. > [...]
  595.  
  596. I can vouch for the MTU reporting abilities of most recent
  597. versions of NOS, a while back I tried to hack MTU discovery
  598. into SunOS 4.1.2 - but for some reason (on the sun) it didn't
  599. seem to work too well. Locally, we came up with a far more
  600. draconian fix (MSS & window snooping - NOS actually alters
  601. the packets as they pass through). Before I get long, angry
  602. flames from the four corners of the world, this was to fix
  603. the specific problems of *nix boxes on local ethernets
  604. which had the misfortune of being linked by AX.25. It
  605. has been working well for over a year now.
  606.  
  607. I'm putting a SunOS 4.1.3 machine up soon, maybe I'll revisit
  608. path MTU discovery....
  609. -- 
  610. andyw.    N0REN/G1XRL
  611.  
  612. andyw@aspen.cray.com    Andy Warner, Cray Research, Inc.    (612) 683-5835
  613.  
  614. ------------------------------
  615.  
  616. Date: Tue, 25 Jan 1994 13:13:50 -0800
  617. From: Phil Karn <karn@qualcomm.com>
  618. Subject: TCP MSS and TCP WIN settings
  619. To: goldstein@carafe.enet.dec.com
  620.  
  621. Fred,
  622.  
  623. Now that you mention it, I do remember that Raj invented what Van
  624. called "slow start". I *think* Van said he reinvented it
  625. independently. In any event, Raj picked the wrong protocol stack to
  626. implement it in, so Van gets all the credit. :-)
  627.  
  628. I really don't think NIH explains why the DECbit scheme didn't get
  629. into IP. Nor is there a "nice guys finish last" problem. If anything,
  630. there should have been one with slow start, but it got deployed pretty
  631. quickly anyway.
  632.  
  633. I think there are three problems: one, there was a widespread perception
  634. that there must exist a way to control gateway congestion without
  635. having to modify IP and every router that handles it. Two, the
  636. NSFNet backbone bandwidth has increased almost 1,000x over what it was
  637. back when TCP congestion control algorithms were such a hot topic.
  638. Despite the enormous growth of the net this has pretty much eliminated
  639. the widespread backbone congestion that used to occur back then, so
  640. there is now much less interest in this problem. Three, both TCPs
  641. in a connection have to be aware of the scheme, because the sending
  642. TCP relies on the other TCP to "reflect back" the IP congestion
  643. experienced bit in its own header.
  644.  
  645. Van has contributed greatly to the first problem. I remember some
  646. really strong arguments at IETF meetings between him and Raj and KK
  647. about whether the DECbit scheme was really needed, or whether you
  648. could do everything with packet drops and throughput/delay
  649. measurements. By the time everybody sort of came to the conclusion
  650. that Raj and KK were right, the problem had sort of lost its appeal.
  651.  
  652. I still think it's not too late to install the Decbit scheme in IP.
  653. There's a spare bit in the flags field (right next to the MF and DF
  654. bits) that could be used. I've had code in my own IP and TCP for some
  655. time that reflects this bit back in another spare bit in the TCP
  656. header, in preparation for eventually implementing the scheme. Again,
  657. I wanted to make sure that there would be enough compatible systems
  658. out there to make this thing work. But I haven't taken it beyond that.
  659.  
  660. Maybe it's time to try it, at least experimentally, and then write up
  661. an Internet Draft. One remaining concern: how many broken hosts and
  662. gateways either refuse to pass this (currently unused) IP header bit,
  663. or worse, will break when it is set?
  664.  
  665. Phil
  666.  
  667. ------------------------------
  668.  
  669. Date: Wed, 26 Jan 94 09:50:28 GMT
  670. From: Alan Cox <iiitac@pyramid.swansea.ac.uk>
  671. Subject: TCP MSS and TCP WIN settings
  672. To: CHRISC@Central.nmmc.mn.org, karn@qualcomm.com
  673.  
  674. This of course raises the other peril of MTU discovery - packets which go
  675. off on different routes. The single MTU is all very well until one stray packet
  676. goes via a low mtu link due to congestion - now everything you send suffers.
  677.  
  678. Alan
  679.  
  680. ------------------------------
  681.  
  682. Date: Mon, 24 Jan 94 20:50:06 PST
  683. From: algedi!gateway (gateway)
  684. To: tcp-group@ucsd.edu
  685.  
  686. help
  687. -- 
  688.  
  689. Eric T. Budinger              Dan's Domain 201-586-1223
  690. budinger@ds.gen.nj.us           Ham Central SysOp
  691. ericbud@ritz.mordor.com         1-201-398-4619 (voice)
  692. n2koj@w2xo.pa.usa.na            1-201-205-2134 (digital)
  693.  
  694. ------------------------------
  695.  
  696. End of TCP-Group Digest V94 #22
  697. ******************************
  698.